######## ## ## ## ## ## ## ## #### ## ## ## ## ## ## ## ### ####### ## ## ## ## ## ## ## ## ## ## ## ######## ## ## ###### ######## ######## ######## ######## ###### ######## ###### #### #### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ###### ###### ###### ###### ## ## ###### ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ######## ## ## ######## ###### ## ###### #### #### __..__.. .. ..__ __..__.. ..__ . ._.. ..__ (__ | || ||\ || \ (__ [__]|\/|[__)| | |\ |[ __ .__)|__||__|| \||__/ .__)| || || |____|_| \|[_./ .__ .__ .__..__ .__ .__.. . [__)[__)| |[ __[__)[__]|\/| | | \|__|[_./| \| || | _ | \ _ _ o | | o _ __ o \/ |_/ (/_ (_ | | | | (_)| | | /\ ------------------------------------------------------------------------------ RADIO AND TELEVISION INTERFERENCE Important: This equipment may generate radio frequency energy. If it is not installed and used properly, in strict accordance with Decillionix's instructions, it may cause interference to radio and television reception. Your DX-1 card has been tested and found to comply with the limits for a class "B" computing device in accordance with the specifications in Subpart "J" of part 15 of FCC rules, which are designed to provide reasonable protection against such interference in a residential installation. However, there is no guarantee that interference will not occur in a particular installation. If your DX-1 card does cause interference to radio or television reception, which can be determined by turning the equipment off and on, you are encouraged to try to correct the DX-1 by one or more of the following measures: * Reorient the receiving antenna. * Relocate the computer with respect to the receiver. * Move the computer away from the receiver. * Plug the computer into a different outlet so that the computer and receiver are on different branch circuits. * If necessary, consult the dealer or an experienced radio/television technician for additional suggestions. You may find the following booklet prepared by the Federal Communications Commission helpful: "How to Identify and Resolve Radio-TV Interference Problems". This booklet is available from the U.S. Government Printing Office, Washington, DC 20402, stock #004-000-00345-4. ------------------------------------------------------------------------Page 1 NOTICE ------------------------------------------------------------------------------ Decillionix reserves the right to make improvements in the product described in this manual at any time and without notice. DISCLAIMER OF ALL WARRANTIES AND LIABILITIES ------------------------------------------------------------------------------ Decillionix makes no warranties, either express or implied, with respect to this manual or with respect to the software described in this manual, its quality, performance, or fitness for any particular purpose. Decillionix will not be liable for direct, indirect, incidental, or consequential damages resulting from the use of the product described in this manual. This manual is copyrighted. All rights are reserved. This document may not, in whole or part, be copied, photocopied, reproduced, translated or reduced to any electronic medium or machine readable form without prior consent, in writing, from Decillionix. The word Apple is a trademark of Apple Computer Inc. Syntauri is a trademark of Syntauri Corp. Soundchaser is a trademark of Passport Designs Inc. Copyright 1984, 1985 by Decillionix P.O. Box 70985 Sunnyvale, CA 94086 DX-1 'EFFECTS II' Rev 2.2B ------------------------------------------------------------------------------ DX-1 EFFECTS II SOUND SAMPLING PROGRAM FOR THE DX-1 SOUND SAMPLING SYSTEM ------------------------------------------------------------------------------ TABLE OF CONTENTS CHAPTER 1 INTRODUCTION 5 ------------------------------------------------------------------------------ 5 DX-1? 6 What is Required 6 Installing The P.C. Board 6 Connecting a Speaker or Amplifier 6 Connecting a Microphone 7 The Two Hardware Jumper Selections CHAPTER 2 OPERATION 8 ------------------------------------------------------------------------------ 8 Starting Up 8 Boot-up, The Main Menu 9 Entering the Board Slot Number 9 What is a Soundbase? 10 Loading and Saving Sound 11 Menu 1 "SOUND SAMPLES" 12 Inside The Sound Samples 13 Menu 2 "PRESET RHYTHMS" 15 Menu 3 "REAL TIME REC/PLAY" 15 The Modes 16 Playing Sounds 16 Recording Sounds 17 The Other Real Time Rec/Play Selections 19 Menu 4 "MUSICAL KEYBOARD" 19 Using the Apple Keyboard 20 The Syntauri and Passport Keyboards 20 Musical Keyboard Considerations 21 Menu 5 "AUTOSEQUENCE" 22 Introduction to Programming Autosequence 23 Selecting a Group 23 Entering Information 24 Example Sequence 25 Playing the Sequence 26 The Load/Save Sub-Menu 27 Controlling Time Durations 27 Entering Wrong Values 28 Menu 6 "SCALE TUNING" 29 Entering Tune Data 31 Menu 7 "EXTERNAL INTERFACE" 32 Triggering and the Operating Menus CHAPTER 3 THEORY OF OPERATION 33 ------------------------------------------------------------------------------ 33 General Overview 33 The Hardware 34 Block Diagram 35 The Software CHAPTER 4 GOING FURTHER 36 ------------------------------------------------------------------------------ 36 Making Good Recordings 37 Tips On Using DX-1 39 Changing the Defaults 40 Writing Your Own Software 40 Sample Assembly Listings APPENDIX A REFERENCE CHARTS 42 ------------------------------------------------------------------------------ 42 Tables V1-1 Through V1-3: The Soundbase Tables 43 Tables M2 Through M7: The Mode Tables 45 Table 8: 'Pitch' value to musical note Relationship 46 Table 9: Memory Organization 47 Table 10: Output Level to Output DAC Relationship 48 Table 11: Record Sample Frequencies 49 Table 12: Hardware Input/Output Addresses ------------------------------------------------------------------------Page 5 CHAPTER 1 INTRODUCTION DX-1? ------------------------------------------------------------------------------ DX-1 is a hardware/software product for your Apple computer that digitally records and plays back ordinary sound under computercontrol. Not only is DX-1 capable of recording and playing back real sound with near-perfect ability, but advantage was taken of the processing power of the Apple, resulting in a very flexible system. DX-1 can reproduce and sequence any sound in a multitude of ways, including musically over at least a five octave range. Features for internal/external triggering and tuning are also provided. DX-1's method is simple: Sounds are converted to digital data through a high speed analog-to-digital converter; software routines are then selected (or programmed) for playing and sequencing the sound data; the data is then output to a digital-to-analog converter where sounds are reconstructed. The software can speed up, slow down, play backwards, forwards, and sequence sounds in many ways. FEATURES OF DX-1: * Digitally Sample and Play Back Ordinary Sounds Musically * Play Sounds in Real Time on the Apple Keyboard * Select Pre-programmed Sound Sequences or Program Your Own * Twenty-two Pre-recorded Sounds included on Diskette * Easy "Menu" Driven Software (A Master Menu and Eight Sub-Menus) * P.C. Board Connects Directly to a Microphone or Line Source * Output Connects Directly to a Speaker or Amplifier * Features for Input & Output Synchronization * Includes interface to Syntauri and Passport keyboards The system includes a printed circuit board, an operators manual, and a floppy diskette with the user program and twenty-two pre-recorded sounds. Other products available from Decillionix include the four additional pre-recorded volumes of sound (Volumes 2 through 5), a real time 'Echo' and sound processing program, and a real time graphics program called 'Splash'. Return the user reply form to ensure that you are on our mailing list for future product announcements. (Decillionix is pronounced "di-sil'yon-nix". Derived from the mathematical term "Decillion" meaning ten to the thirty-third power.) ------------------------------------------------------------------------Page 6 WHAT IS REQUIRED ------------------------------------------------------------------------------ DX-1 requires an Apple IIe, 11+ (or compatible) with 48K of memory, Applesoft Basic, and at least one disk drive with DOS 3.3. You will also need to supply your own microphone or input source, and speaker or amplifier system. INSTALLING THE P.C. BOARD ------------------------------------------------------------------------------ Installing DX-1 into the Apple II is simple. Be sure the power is off, remove the cover and plug the printed circuit board into any open slot. The software program will initially expect the P.C. board to be in slot 3, but this can easily be changed as discussed in the section below called 'Starting Up'. CONNECTING A SPEAKER On the DX-1 board you will see an "RCA phono" connector identical to the Apple II video output connector. This is the output jack. Connect the output jack either directly to a speaker (should be 8 ohms), or through an amplifier system. Because no external amplifier is needed to run DX-1, connecting directly to an external speaker is quick and simple. For higher listening levels, use an audio amplifier. A shielded cable is supplied and must be used when connecting DX-1 to an amplifier. Connect to the "AUX" or "LINE" input of your amplifier (not TAPE, PHONO or MIC). The output level of DX-1 is compatible with speakers or amplifiers interchangeably. NOTE: The full sound quality of DX-1 cannot be realized unless a medium to large size speaker (8 to 12 inch), or multiple speaker sound system (mono only) is connected to DX-1. This makes a BIG difference! IMPORTANT: If care is not taken it is possible for the metal RCA phono output jack to short out to a P.C. board plugged into the slot to the right of the DX-1 P.C. board. A small piece of insulating tape placed on the adjacent P.C. board will prevent electrical contact. Protect your P.C. boards! CONNECTING A MICROPHONE DX-1 is designed to accept sound signals directly from a microphone. Almost any microphone will work, but for best results, use one with high quality. Microphone quality also makes a BIG difference! Most music stores can supply what you need. ------------------------------------------------------------------------Page 7 Connect your microphone to the miniature phone jack labeled "INPUT". An adapter is supplied so that microphones with 1/4th inch plugs can be connected to the miniature jack. Also on the P.C. board is a small control labeled "INPUT LEVEL" for adjusting input sensitivity. Don't be afraid to adjust this control. More on this later when you record your own sounds. IMPORTANT: Secure the microphone cable so that if someone should pull on it, DX-1 won't be unplugged from it's I/O slot accidentally. THE TWO HARDWARE JUMPER SELECTIONS ------------------------------------------------------------------------------ Two (finger changeable) hardware jumper selections, one located near the "Input" jack on the P.C. board and one located near the "Output" jack, provide additional flexibility for the DX-1 System. These are three pin jumper selections labeled "Input Gain" and "Filter" (see the P.C. board). The input gain switch provides a means of changing the overall sensitivity of the input circuitry, so that interfacing to sources other than a microphone is possible. With the miniature push-on jumper in the "HI" position, a microphone should be used. In the "LO" position, a tape recorder, synthesizer or similar 'line' level output may be connected to DX-1. Input resistance is always 100K ohms, meaning just about any source will drive DX-1. If in doubt, simply try it. Input levels to +/- 10 volts won't harm the DX-1 input. DX-1 sensitivity levels: Jumper in HI position 10mv-200mv (Peak to Peak) Jumper in LO position 200mv-4volts (Peak to Peak) The three pin "filter" switch provides a means of changing DX-1's output frequency response. With the mini-jumper in the "OFF" position, the response in linear or flat. In the "UN" position, the high end has been tailored down. Depending on the users taste and application, either selection may be more appropriate. For example, switching the filter "ON" may eliminate some of the sample frequency distortion or D-to-A resolution distortion. THE FEEDBACK POT ------------------------------------------------------------------------------ This section applies only if you have purchased the software package titled DX-1 'ECHO'. Note: In order for DX-1 'EFFECTS II' program described in this manual to record properly, the "Feedback Potentiometer" connected to the P.C. board must be turned fully counter-clockwise or disconnected. Also note that the second pin of "J4" (feedback connector on DX-1 board) should he cut. ------------------------------------------------------------------------Page 8 CHAPTER 2 OPERATION STARTING UP ------------------------------------------------------------------------------ The quickest and easiest way to become familiar with DX-1 is to read through the manual while operating the software. IMPORTANT: It is highly recommended that you make two copies of the software diskette (DX-1 Volume 1) now. The first copy will be your back-up of the original, the second will be for saving sounds you enter into the Apple, which you will quickly learn to do. DX-1 Volume 1 is not copy protected. BOOT-UP, THE MAIN MENU After you have successfully followed the installation procedure (chapter 1), put DX-1 'EFFECTS II', volume 1 into drive 1 and boot it up just like any other disk. "DX-1 EFFECTS II, SOUND SAMPLING PROGRAM..." should appear followed by: **************************************** * EFFECTS II MAIN MENU * **************************************** 1 SOUND SAMPLES 2 PRESET RHYTHMS 3 REAL TIME REC/PLAY 4 MUSICAL KEYBOARD 5 AUTOSEOUENCE 6 SCALE TUNING 7 EXTERNAL INTERFACE 8 LOAD/SAVE BASE 9 BOARD SLOT (3) This is the 'Effects II' Main Menu. The Main Menu does not have any selections for recording or playing sound, but allows you to select and display the other 'operating menus' that do. Each operating menu is organized for a particular function. All operating menus are selected simply by pressing any key 1-8. Menus 1-5 are oriented for playing or recording sound in various ------------------------------------------------------------------------Page 9 ways, while menus 6-8 are kind of 'utility' menus. Finally, selection 9 on the main menu allows the DX-1 board slot to be entered. Once a menu is selected and displayed, returning to the main menu is necessary to enter any of the other operating menus. Returning to the main menu is usually done with selection '1'. A quick reference card is supplied and can be referred to. NOTE: Before we get to any of the menus that record or play sound, make sure that you have entered the DX-1 board slot (described below). Then we will introduce one concept, the 'Soundbase', and quickly discuss main menu selection 8, 'Load/Save Base'. ENTERING THE BOARD SLOT NUMBER Press selection 9 and the program will prompt you to enter the slot number the P.C. board is plugged into. DX-1 cannot produce sound unless the slot number entered here matches the slot number the P.C. board is plugged into. If you press selection 9 and decide not to change the board slot, press any key other than 0 to 7. WHAT IS A SOUNDBASE? A Soundbase is a collection of digitized sounds in binary data form loaded into the Apple's memory and "played" by DX-1. A Soundbase is typically four to eight sounds in length, although it can be from one to eight sounds. All sounds in a Soundbase are loaded at the same time. In terms of memory size, a Soundbase occupies 24K bytes total or 96 pages of memory (each page is 256 bytes). In Appendix A, "The Soundbase Tables", and "The Mode Tables" you will find an explanation of the memory organization and contents of a Soundbase. -----------------------------------------------------------------------Page 10 LOADING AND SAVING SOUND Press selection 8 from the main menu and the LOAD/SAVE SOUND menu will appear: **************************************** * LOAD/SAVE SOUND * **************************************** 1 MAIN MENU 2 LOAD NEW SOUNDBASE 3 SAVE NEW SOUNDBASE 4 LOCK A SOUNDBASE 5 UNLOCK A SOUNDBASE 6 DISK CATALOG BASE NOW LOADED: SOUNDBASE1 The LOAD/SAVE SOUND menu is used for loading, saving, locking, or unlocking any one of the three Soundbases that resides on a DX-1 diskette. The use of the selections is straightforward. For example, press selection 2 and the program will prompt you to select and load into memory Soundbase 1, 2, or 3. NOTE: You do not need to load a Soundbase now; during initial boot-up Soundbase1 was automatically loaded. If you press selection 2 and decide not to change the current Soundbase, press any key other than 1, 2, or 3. NOTE: You can also use to load a Soundbase from any menu without having to re-enter the Load/Save Sound menu. To Return to the main menu, use selection 1. We will now describe the first operating menu, 'Sound Samples'. -----------------------------------------------------------------------Page 11 MENU 1: "SOUND SAMPLES" ------------------------------------------------------------------------------ Press selection 1 from the main menu and the first sound-producing menu, "SOUND SAMPLES" will appear: **************************************** * SOUND SAMPLES * **************************************** 1 MAIN MENU A VOLUME (8) 2 CYCLE SOUNDS B MODE (2) 3 RANDOM SLOW 4 RANDOM FAST 5 LAST SOUND SLOW 6 LAST SOUND FAST 7 ROLLER COASTER 8 FALLING OBJECT 9 INCREMENT SOUND The Sound Samples menu, though not necessarily practical, does give a quick and interesting demonstration of what a computer can do with digitized sound. To select a routine and play sound, press any key 2 through 9. Sound should now be produced in any of eight, decrementing, incrementing or cycling ways. To some degree the names of each routine reflect what type of processing is going on. Once a selection is made, pressing any key other than 2 through 9 will stop play. NOTE: If you have just booted up DX-1 and are trying the various selections, what you are listening to is DIGITAL REPRODUCTION of real drum sounds! This is what's exciting about DX-1... the ability to record and reproduce real sounds under computer control! To change the output level or volume from DX-1, press selection A. Once A is pressed, enter a number between 0 and 15, then press RETURN. 0 is quiet, 15 loud. If you press A and decide not to change the output volume, just press RETURN. -----------------------------------------------------------------------Page 12 Selection B sets the mode. Once B is pressed, you can enter a number between 2 and 7 (RETURN is not necessary). Typically the mode of the Soundbase currently loaded is entered here. (You do not need to worry about modes here, the correct mode of a Soundbase is automatically entered whenever a Soundbase is loaded.) Simply described, the six modes deal with formatting the Apples memory between one to eight sections depending on the Soundbase loaded. In other words, you can dedicate sound digitizing space to one longer sound (mode 7), or up to eight shorter sounds (mode 2). A full description of the modes will be found in the section of the manual for operating menu 3, "Real Time Rec/Play". INSIDE THE SOUND SAMPLES Here is some inside information as to how the Sound Samples process recorded sound. "Cycle Sounds" is a routine that plays each sound in a Soundbase five times, each at five different (increasing) pitches (sample rates), before cycling to the next sound. The routine repeats endlessly, as do all the Sound Samples, until a key is pressed. "Random Slow" chooses sounds out of a Soundbase at random, and plays them at a randomly chosen slow rate. "Random Fast" does the same except the random range is faster. Sample rates will be discussed further in later chapters. "Last Sound Slow", "Last Sound Fast", "Roller Coaster", "Falling Object" and "Forward/Backward" all process only the last played sound (switch sounds by pressing key 4 then key 5 through 9). "Last Sound Slow" and "Last Sound Fast" play sounds at random pitches with ranges similar to "Random Slow" and "Random Fast". "Roller Coaster" repeatedly plays a sound, each time chopping off a portion of the end, repeating smaller and smaller portions of the sound, then adding portions of the sound back until the sound is whole again. "Falling Object" repeatedly plays a sound, each time chopping off a portion of the beginning, repeating smaller and smaller portions of the end, then starting over. "Increment Sound' plays the last played sound over a 70 note range, incrementing the sample rate to the highest pitch, decrementing back down, then repeating. NOTE: "Popping" noises will sometimes be heard when playing the Sound Samples (more often in selections 7 and 8). This is due to playing various portions of sounds, or starting a sound from somewhere after it's beginning. -----------------------------------------------------------------------Page 13 MENU 2: "PRESET RHYTHMS ------------------------------------------------------------------------------ Press selection 2 from the main menu and menu 2, "PRESET RHYTHMS" will appear: **************************************** * PRESET RHYTHMS * **************************************** A ROCK1 <- -> B ROCK2 1 MAIN MENU C COUNTRY 2 VOLUME (8) D BALLAD 3 MODE (2) E SHUFFLE 4 TEMPO (5) F WALTZ 5 PITCH (47) G SWING H RHIUMBA I SAMBA J REGGAE K DISCO L FUNK (NOTE: Either the RIGHT or LEFT arrow is displayed in inverse video.) This menu is practical for sequencing digitized drum and non-drum sounds. Twelve 'pre-set' rhythms are provided. To play a drum rhythm, simply press any key A through L. Any Soundbase other than "SOUNDBASE1: DRUM SET" when loaded plays a rhythm with non-drum sounds. The other selections in this menu work as follows: Selection 2 changes the output volume, selection 3 sets the mode (again, modes will be discussed fully in menu 3, "Real Time Rec/Play"), selection 4 sets the tempo or rate at which the rhythm sequences, and selection 5 changes the pitch (sample rate) of the actual sound being played. The ranges for VOLUME, MODE, TEMPO, and PITCH are as follows: 2 VOLUME 0-15 (0=quiet, 15=loud) 3 MODE 2-7 (2=eight sounds, 7=one sound) 4 TEMPO 0-15 (0=fast, 15=slow) 5 PITCH 1-100 (1=low, 100=high) -----------------------------------------------------------------------Page 14 In selection 5, the number entered (1-100) corresponds to a musical note. See Table 8 in Appendix A for a complete listing of all the notes and ranges possible. Try different values for pitch and tempo to create many different effects. Note that the extreme end ranges for pitch (above 80 and below 20 or so) are not always practical for reproducing sound musically. The RIGHT and LEFT arrow keys change the direction a sound will be played. This does not effect the overall order of a rhythm. To stop a rhythm, press any of the non-rhythm or function keys (1-5). Notice that the selected rhythm is still displayed in inverse. The rhythm can be started up where left off by pressing the RIGHT or LEFT arrow keys. NOTE: When lowering the Pitch (setting Pitch to values below 30 or 40), the sound reproduction rate will become slow enough that the "sample" rate can sometimes be heard. NOTE: The Preset Rhythms menu was designed mainly to reproduce a Soundbase recorded in mode 2 or 3. Although any Soundbase can be loaded and its respective mode entered, sequencing may be limited. -----------------------------------------------------------------------Page 15 MENU 3: "REAL TIME REC/PLAY" ------------------------------------------------------------------------------ Press selection 3 from the main menu and the "REAL TIME REC/PLAY" menu appears: **************************************** * REAL TIME REC/PLAY * **************************************** 1 MAIN MENU <- -> 2 AS DF GH JK (P) 8 VOLUME (8) ZX CV BN M, 9 REC RATE (10) 3 AS DF GH JK Q PLAY RATE (47) ZX CV BN M, W TRIG LEV (20) 4 AS DF GH E FREERUN ZX CV BN - REC-PLAY 5 AS DF ZX CV 6 AS ZX 7 AS (NOTE: Either arrow, the selected mode and PLAY are displayed in inverse video.) This is the first of two operating menus that allow digitized sound to be played instantly, at the touch of keys. Keys 2 through 7 on the left side of the menu select a mode. Depending on the mode selected, various keys are "active" and play sounds when pressed. The keys that are active in each mode are displayed on the screen next to the mode selected. THE MODES A Soundbase is a large continuous section of memory with digital sound data. A mode simply defines how a Soundbase is to be divided when played. For example, mode 6 divides all the Soundbase memory in half. Keys "A" and "S" play the first half while "Z" and "X" play the second. Mode 3 divides the sound memory into 8 equal sections. This means there are eight key pairs that play sound, each pair playing one eighth the total sound memory. Keys "A" and "S" play the first eighth, keys "D" and "F" play the second eighth, keys "G" and "H" play the third eighth, etc. Mode 2 is unique. It does not divide all the Soundbase into equal sections as do the other modes. Instead, the first half of sound -----------------------------------------------------------------------Page 16 memory is divided between six key pairs, while the second half is divided between two key pairs. This is to provide a mode better suited to playing a percussion Soundbase such as SOUNDBASE1: DRUM SET. The cymbals are given more play time. The "P" in parenthesis signifies the orientation of mode 2. Select a mode by pressing keys 2 through 7. Again, the key pairs active within a particular mode are displayed on the screen next to the mode selected. A Soundbase is usually played in the mode it was recorded in though not necessarily. On the label of the diskette of the particular volume you are using, you will see what mode each Soundbase was recorded in (M2-M7). Experiment with the different modes and you'll be able to recognize when a Soundbase is being played in it's recorded mode. Also, reloading a Soundbase puts it in the correct mode. Tables M2 through M7 in Appendix A show the starting addresses, ending addresses, and lengths of the memory sections within a mode. PLAYING SOUNDS In Real Time Rec/Play, two keys are provided per sound for fast repeated playing (simulating drum rolls?). As soon as a sound-producing key is pressed, the last sound ends and the new sound begins. Changing modes instantly changes how the "active" keys are formatted. NOTE: In the Real Time Rec/Play menu, holding down three or more keys at a time may cause strange things to happen. This is due to the internal hardware organization of some versions of the Apple keyboard. Pressing three or more keys sometimes sends key values of keys not pressed to the computer, sometimes causing mode changes, or menu changes. Try it; press ASDFGHJK simultaneously several times. RECORDING SOUNDS IMPORTANT: Before any sound can be entered, the "Input Level" control on the printed circuit (P.C.) board may need to be adjusted. Place the system in "Freerun" (press selection E), while adjusting this control. Input sound should flow directly from your microphone to the output speaker. -----------------------------------------------------------------------Page 17 Now press selection "-" (the dash key near the zero key). Pressing enables and disables the recording process. With REC selected, press the left key of any key pair ("A" for example) and the recording process will begin as soon as sound is of high enough magnitude to trigger the computer. After sound is successfully entered, the Apple II internal speaker will beep to signal that recording is done. For your first recording you should select mode 7 with key 7. While the left key enables recording, the right key of each key pair always plays sound. When PLAY is selected (with the dash key), BOTH keys in each pair play sound. NOTE: Do not worry if your recordings sound very 'clean' on your initial tries. More on recording in later sections of the manual. Sounds within a Soundbase can be entered and re-entered in any order (except mode 7). You will need to keep track of which sounds have been entered while recording. After all sounds within a mode have been recorded, you have a new Soundbase which can be saved to disk through the use of main menu selection "8 LOAD/SAVE BASE". (NOTE: When saving new Soundbases always record on the disk label what the Soundbase contains and what mode you recorded it in. Soundbases are always saved under the names SOUNDBASE1, SOUNDBASE2, or SOUNDBASE3. This is because saving more than 3 Soundbases would immediately overfill a diskette.) THE OTHER REAL TIME REC/PLAY SELECTIONS The remaining selections on the Real Time Rec/Play menu are described as follows: The RIGHT and LEFT arrow keys play sound in either the forward or reverse direction. They do not change the direction sound is RECORDED in. Selection "9 REC RATE" adjusts the record sample rate. A small number entered here causes fast rates (total record time short), while large numbers cause slow sample rates (total record time long). Table 11 in appendix A lists the actual record sample frequencies. (See also the description of selection E, "FREERUN", below.) Selection "Q PITCH" selects the play note. Each number 1 through 100 corresponds to a musical note. Table 8 in appendix A lists all the musical notes and ranges possible. A pitch value of 42 with a record rate of 10 will output sound at its recorded pitch. Other record rates will correspond to other pitch values for playing a sound at its recorded pitch and can be found by trial and error. -----------------------------------------------------------------------Page 18 Selection "W TRIG LEV" sets the sensitivity of the computer to sounds being entered. When sounds are entered, the computer actually waits until the sound is of high enough magnitude or volume before recording takes place. This allows memory to be filled efficiently. Higher numbers entered make the computer less sensitive to triggering, while lower numbers more sensitive. If a zero is entered, the computer does not wait, but instantly records at the touch of a key. The ranges for selections "8", "9", "Q" and "W" are: 8 VOLUME 0-15 (0=quiet, 15=loud) 9 REC RATE 1-255 (1=fast, 255=slow) Q PITCH 1-100 (1=low, 100=high) W TRIG LEV 0-128 (1=more sensitive, 128=less sensitive. 0=instant trig.) Selection "E FREERUN" allows sound to pass through the input and output circuitry on the P.C. board without recording taking place. This can be useful for monitoring sounds while preparing to record. NOTE: Though nothing is sent to memory, "samples" are still being taken with the sample rate determined by "9 REC RATE" (this will mean a poorer frequency response (but more duration) if the record rate is set above 12 or so). IMPORTANT: When entering and recording sound, the input signal from the microphone or line should be of high enough magnitude to utilize the full range (dynamic range) of the A-to-D and D-to-A converters. Adjusting the signal level high but below distortion will accomplish this. If the signal begins to sound loud and raspy or harsh, you are probably overdriving the input and distorting the signal. If the signal level is too low in amplitude, A-to-D and D-to-A "resolution" distortion may become overly noticeable (excessive fuzzy sound or low hiss in the background). Note that because sound is created with 256 steps of D-to-A conversion, a certain small amount of hiss will sometimes be present. To become familiar with recording, it is suggested that you record a few spoken words, through a microphone, in mode 7, at a record rate of 10 or so. See also the section called 'Making Good Recordings'. -----------------------------------------------------------------------Page 19 MENU 4: "MUSICAL KEYBOARD" ------------------------------------------------------------------------------ Press selection 4 from the main menu, then type "Y" to load "MUSICAL KEYBOARD". In a few seconds, Musical Keyboard appears: **************************************** * MUSICAL KEYBOARD * **************************************** Q MAIN MENU <- -> W VOLUME (8) T REC RATE (10) E MODE (2) Y TRIG LEV (20) R FREERUN - REC/PLAY __________________ 1-8 SEL SOUND : 1 | | 0-P CHNGE OCTV: 4 | See Screen | U-I CHNGE NOTE: 1 | | |__________________| 9 EXT KEYBD Musical Keyboard is one of the most powerful menus for recording and playing back sound. This menu allows any sound, if carefully recorded, to be reproduced over at least a five octave range, both forwards and reverse. Instant octave and note transposition is provided and a direct interface to the Syntauri and Passport keyboards (if you own them) is easily selectable. USING THE APPLE KEYBOARD This menu, as most were designed, is straightforward. On the bottom right of the screen you will see a graphic display of a portion of a piano keyboard. Simply touch any of the keys indicated in the display to 'play' a sound musically. To the left of the displayed piano keyboard are selections for changing the sound being produced, and transposing the octave and note value. For example, press any key 1-8 to change the sound being produced (depends on mode selected). To change the octave or note up or down, press keys O-P or U-I respectively. Above the keyboard display and the sound selection keys are eight other selections, Q, W, E, R, T, etc. These selections are straightforward and provide functions such as returning to the main menu, changing the output volume, freerun, etc. See the section -----------------------------------------------------------------------Page 20 titled "Real Time Rec/Play", described earlier, if you are unfamiliar with their use. THE SYNTAURI AND PASSPORT KEYBOARDS Press selection "9" and four new selections for the Syntauri and Passport keyboards will appear. To operate those keyboards, you must have their respective interface cards plugged into any slot 0-7 and enter that slot with selection 4. Then select the appropriate keyboard with selections 2 and 3. (Noise will be produced and/or the program can be crashed if an external keyboard is selected without the proper keyboard interface slot selected first.) Once selected you will be able to use all the displayed features of the musical keyboard menu with the external keyboard. Also, depending on the mode selected, sounds to be played are selected with the left-most 1 to 8 keys on the 'external' keyboard. MUSICAL KEYBOARD CONSIDERATIONS Playing Sound With the Apple Keyboard: * Octave range is 1-8, note range is 1-13. * Extreme octave ranges, usually 7-8, may not sound musical. * Sound quality will sometimes change from note to note. More noticeable with 'purer' sounds. * Use mode 6 or 7 to capture longer sounds. * Pre-recorded sounds are not necessarily tuned to the American or International pitch Standard. You can tune sounds to any standard if you wish - see the following comment. * Pressing note F (keyboard key V) with a record value of 10 (in octave 4, note 1) will reproduce a recorded sound at its recorded pitch. Transpose with 'U-I CHNGE NOTE'. Playing Sound With Syntauri or Passport Keyboard: * Note frequencies will not be tuned to the 'Computer keyboard' tune frequencies, but will be tuned with respect to each other. * Pressing the left-most 'sound-selection' keys on the external (piano) keyboard selects a sound but does not play it. * Sound cannot be played in reverse with an external keyboard. -----------------------------------------------------------------------Page 21 * The system can be crashed if an incorrect slot for Syntauri or Passport keyboard is selected. * Wrap-around occurs after the highest or lowest note is reached. * Some sounds play well only within certain ranges. There may be a 'click' between notes (the scanning routine takes time), more noticeable with some sounds. * Keyboard 'bouncing' may occur with an external keyboard (keyboard contacts may become dirty with age). We don't recommend cleaning them yourself unless you have experience. * If you own the newer Passport Soundchaser, version MK-5, you must have the proper software (call us if you do not). MENU 5: "AUTOSEQUENCE" ------------------------------------------------------------------------------ Press selection 5 from the main menu, then type "Y" to load "AUTOSEQUENCE". In a few seconds Autosequence appears: **************************************** * AUTOSEQUENCE * **************************************** 1 MAIN MENU (ASDF) 2 SEL/LIST GROUP 6 LOAD/SAVE 3 INPUT STRING 7 VOLUME (8) 4 PLAY SEQUENCE 8 MODE (2) 5 REPEAT PLAY 9 TEMPO (5) Autosequence allows the most dramatic and creative sequences of sound, but not without effort. Sound parameters and sequences are entered by the user, and a knowledge of where sounds are located in memory is necessary (Tables V1-1 through V1-3 in Appendix A). Programmed sound sequences can also be saved and loaded from disk. Several pre-programmed sequence examples have been saved on the DX-1 diskette and can be loaded through selection "6 LOAD/SAVE". NOTE: If you would now like to play the pre-programmed examples before learning to program your own sequences, see the section titled "The Load/Save Sub Menu" below. -----------------------------------------------------------------------Page 22 INTRO TO PROGRAMING AUTOSEQUENCE The Autosequence menu allows you to program the computer to automatically play any sound in a Soundbase, at any pitch, volume, or direction (forward or reverse). Up to 32 different sounds can be sequenced before a pattern repeats. Longer sequences are created by repeating parts of a sequence. All information for sequencing sounds is entered into five 'groups"; the first four groups specify how sounds will be reproduced, while the fifth group controls the overall sequencing of the other four groups. All sequences are created with menu selections 2 and 3. Selection "2 SEL/LIST GROUP" displays 1 of 5 groups on the screen, while selection "3 INPUT STRING', controls the entering and editing of information into the "lines" of the groups. Groups 1 to 4 are identical, each containing 8 lines of information. Each line of information specifies how 1 sound will be played. Within a group, sounds are always played from 1 to 8. Group 5 sequences the other four groups with 16 lines of information. Here is a block diagram of Autosequence: .---------. | Group 1 | | | | 8 Lines | |_________| .---------. | Group 2 | | | Contain .----------. | 8 Lines | Sound | Group 5 | Sequences the |_________| Information | | Other Four Groups | 16 Lines | .---------. |__________| | Group 3 | | | | 8 Lines | |_________| .---------. | Group 4 | | | | 8 Lines | |_________| -----------------------------------------------------------------------Page 23 SELECTING A GROUP One of the five groups must be selected before Autosequence information can be entered. To select a group, press key "2" (SEL/LIST GROUP), then RETURN to default to group 1. Or press key "2" (SEL/LIST GROUP), and enter the group number followed by RETURN. A group is now displayed on the screen. Here is how groups 1 and 5 appear when first displayed: GROUP 1 GROUP 5 SND NTE DUR DIR VOL GRP CNT GRP CNT 1) 1 :4 :4 :0 :10 1) 1 :2 9) R :R 2) 1 :4 :4 :0 :8 2) 2 :2 10) R :R 3) 1 :4 :4 :0 :6 3) 3 :2 11) R :R 4) 1 :4 :4 :0 :4 4) 4 :1 12) R :R 5) 1 :3 :4 :0 :10 5) R :R 13) R :R 6) 5 :4 :4 :0 :8 6) R :R 14) R :R 7) 1 :3 :4 :0 :10 7) R :R 15) R :R 8) 5 :4 :4 :0 :8 8) R :R 16) R :R The values in the groups shown above are part of the "DEMO1" sequence, automatically loaded when DX-1 is first booted-up. ENTERING INFORMATION After a group is selected and displayed, press "3" (ENTER STRING) and to the right you'll be asked what line to edit. Press RETURN to default to line 1, or enter a line number, then RETURN. We are now ready to enter information. Information entered tells the computer what sound in a Soundbase to play and how to play it. Five numbers are needed (per line in groups 1 to 4) for the computer to reproduce sound. These five parameters are as follows: Sound (SND), Note (NTE), Duration (DUR), Direction (DIR), and Volume (VOL). The user simply decides (with the help of tables V1-1 through V1-3 in Appendix A) what sounds to reproduce and how to reproduce them. After making an entry and pressing return, the line number will increment automatically. If RETURN is pressed without making an entry, the previous value remains. At any time when entering information, entering "Q" then RETURN exits from the "ENTER STRING" mode. -----------------------------------------------------------------------Page 24 NOTE: When entering information, various ranges should he observed for each parameter (later, read the section, "Entering Wrong Values"). They are as follows: Sound (SND) 1 to 8 Sound to be played (selected mode limits the number of sounds avail.) Note (NTE) 1 to 100 Musical Note 1=low, 100=high Duration (DUR) 1 to 16 Time constant, 1=short, l6=long Direction (DIR) 0 to 254 0=forward, 1-254=reverse Volume (VOL) 0 to 15 0=quiet, 15=loud Again, information entered into the four groups tells the computer how a sound will be played. Typically group 1 is first filled, then group 2, then group 3 etc. Finally, information in group 5 specifies how groups 1 to 4 will be sequenced. To enter information into group 5, press key "2" (SEL/LIST GROUP), then press "5", followed by RETURN. Now press "3" (ENTER STRING). Again you'll be asked what line to edit. Press RETURN and default to line 1. Enter the group (GRP) from 1 to 4, or just press RETURN. Then enter the number of times (CNT for Count), from 1 to 254, you want that group to repeat. On line 2 you can now enter any group number, and the number of times it will repeat. Press "Q", RETURN, to exit from the line editor at any time. NOTE: Not all lines need contain information. Any line not specifying a group or count should contain an "R" (actually, it is sufficient if the first line not containing sound or group information contains an "R"). This tells the computer to "REPEAT", or start with information contained in line 1 again. Important keys to remember: R Tells computer end of group, or repeat Q For quitting the information entry process EXAMPLE SEQUENCE Let's say we want to Autosequence a single snare drum five times at a medium rate with normal pitch, direction, and volume. First we make sure SOUNDBASE1: DRUM SET is loaded into the computer. Now we need to look at Table V1-1 (appendix A) to see where in that Soundbase the snare drum is located. A good duration value is 4. The parameters for this simple sequence are: -----------------------------------------------------------------------Page 25 SND 1 NTE 47 DUR 4 DIR 0 VOL 8 Using menu selections 2 and 3 we enter these parameters into group 1, line 1, and then in group 1 line 2, we enter an "R" in SND. In group 5 we specify group 1 to be played 5 times. In line 2 of group 5 type in an "R" in GRP. Groups 1 and 5 should look like this: GROUP 1 GROUP 5 SND NTE DUR DIR VOL GRP CNT GRP CNT 1) 1 :47 :4 :0 :8 1) 1 :2 9) R :R 2) R :R :R :0 :8 2) R :2 10) R :R 3) R :4 :R :0 :6 3) 3 :2 11) R :R 4) R :R :4 :0 :4 4) 4 :1 12) R :R 5) R :3 :4 :0 :10 5) R :R 13) R :R 6) 5 :4 :4 :0 :8 6) R :R 14) R :R 7) 1 :3 :4 :0 :10 7) R :R 15) R :R 8) 5 :4 :4 :0 :8 8) R :R 16) R :R PLAYING THE SEQUENCE Play the programmed sequence by pressing "4 PLAY SEQUENCE". Continuously repeat the overall sequence by pressing "5 REPEAT PLAY". "(A S D F)" appears before selection 6 in the Autosequence menu. This provides a convenient way of playing any group 1 to 4 singly. "A" Plays group 1 once, "S" plays group 2 once, "D" plays group 3 once, etc. These keys can be used to help debug a long or complicated sequence. NOTE: Selection "7" in the Autosequence menu sets the output volume as it does on any other DX-1 menu except when set to zero. Then the level specified in groups 1 to 4, that is "VOL", becomes active. Remember, values specified in VOL only have an effect when menu selection "7" is set to zero. -----------------------------------------------------------------------Page 26 THE LOAD/SAVE SUB-MENU Selection "6 LOAD/SAVE" (on the Autosequence main menu) brings you to an Autosequence sub-menu for loading and saving sequences you've created: **************************************** * SEQ LOAD/SAVE * **************************************** 1 AUTOSEQUENCE MENU 2 LOAD SEQUENCE 3 SAVE SEQUENCE 4 LOCK A SEQUENCE 5 UNLOCK A SEQUENCE 6 DISK CATALOG SEQUENCE LOADED: DEMO1 The use of these six selections is straightforward. Press "6" and in the disk catalog you will see several examples of pre-programmed sequences for Autosequence. These are named SEQU.DEMO1, SEQU.DEMO2, SEQU.DEMO3, etc. Try loading and playing them. To load, simply press 2, then type DEMO1, followed by RETURN. IMPORTANT: Only files preceded with "SEQU." can be loaded and you must type only the name as it appears after the letters "SEQU." Also on the disk is one sequence titled "SEQU.INIT" (for Autosequence initialize). Loading INIT is useful for initializing the five groups to commonly used values. INIT does not play any sound. NOTE: The "DEMO" sequences supplied with DX-1 Volume 1 were designed to reproduce a Soundbase recorded in mode 2, such as Soundbase1, or Soundbase2 on Volume 1. Of course, any Soundbase will be reproduced if loaded in memory. Also, if a sound is called for that does not exist in a particular mode (such as sound 6 in mode six), sound 1 will always be played. -----------------------------------------------------------------------Page 27 CONTROLLING TIME DURATIONS For controlling the time duration between sounds in a sequence the duration (DUR) parameter should be understood. Duration determines the play time of a particular sound, with the value 1 being the quickest duration, and 15 being the longest. To create specific durations, simply remember that the value 1 is the shortest, 2 is twice as long, 4 is twice as long as 2, etc. For example if you had a sequence with quarter note, half note and whole note durations, you could program those durations in several ways: DUR VALUE DUR VALUE 1 Quarter or 2 Quarter 2 Half 4 Half 4 Whole 8 Whole Here is an example to illustrate this. We will show some values for group 1 and assume that group 5 is set to repeat group 1. Example: GROUP 1 SND NTE DUR DIR VOL 1) 1 :47 :1 :0 :8 2) 4 :47 :4 :0 :8 3) 7 :47 :8 :0 :8 4) R :47 :4 :0 :8 The first three lines contain information to be played. On continuous repeat (assume Soundbase1: DRUM SET is loaded) the sequence will sound like a rapid snare drum followed by a bass then a ride cymbal. The ride cymbal has a duration eight times as long as the snare, twice as long as the bass, etc. Also remember that the Tempo control (selection 9) controls the overall sequence rate but not the relationship between sound durations. To gain a better understanding of time durations, load and play the DEMO routines provided on the disk. ENTERING WRONG VALUES The editor for the Autosequence groups (selection 3) is not very smart and will allow entering of numbers outside the ranges for all the parameters. While this cannot usually crash the 'Effects II' program it can sometimes cause confusing things to happen. -----------------------------------------------------------------------Page 28 For example, valid numbers for the SND parameter are 1 to 8 though any number 0 to 254 can be entered. With numbers above 8 sometimes various portions of a Soundbase will be played. Valid numbers for the DUR are 1 to 16 with unexpected durations resulting for numbers between 17 and 254. The same is true for the NTE and VOL parameters. MENU 6: "SCALE TUNING ------------------------------------------------------------------------------ Press selection 6 from the main menu, then type "Y" to load "SCALE TUNING". In a few seconds Scale Tuning appears: **************************************** * TUNE MAIN MENU * **************************************** 1 MAIN MENU 4 VOLUME (8) 2 ENTER VALUES 5 MODE (2) 3 LOAD/SAVE TUNE 6 SEL SND (1) O-P CHNGE OCTV: 4 _________________ | | | See Screen | | | |_________________| The tune menu provides a means of re-tuning or re-assigning pitch values to the 100 selectable pitch notes. Included in the tune menu are features for changing the volume, mode, selected sound, and octave. See the earlier menus if you are unfamiliar with those functions. New tunings can also be loaded and saved with selection 3 "LOAD/SAVE TUNE". Press this selection and you will see the sub menu. Now press selection "DISK CATALOG", and observe the files titled "TUNE.EVENTEMP", "TUNE.EVENBACK", etc. These are the tune tiles. NOTE: To load a tune file type only the portion of the file name after the letters "TUNE.". Only files preceded by "TUNE." are tune files. -----------------------------------------------------------------------Page 29 ENTERING TUNE DATA Press selection 2 from the tune main menu and another sub menu appears. This menu has three selections for assigning pitch values to the 100 pitch notes (pitch notes are the numbers 1-100 entered in most operating menus). Pitch values are entered in nine groups of twelve, displayed with selection 2: GROUP 1 NTE KEY P1 P2 I Z 0 16 2 S 0 17 3 X 0 18 4 D 0 19 5 C 0 20 6 V 0 21 7 G 0 23 8 B 0 24 9 H 0 25 10 N 0 27 11 J 0 29 12 M 0 30 The column under NTE is the Pitch note 1-100. Next, for reference, are the keys available to play these notes. To the right are two columns that actually 'tune' the pitch notes, with "P1" acting as a coarse tune and "P2" as a fine tune, larger numbers in either column increases the pitch frequency. To enter new values, press selection 3 and you will be prompted to select a pitch note. Enter the note or simply press RETURN. You can now enter values for P1 and P2 with an automatically incrementing scheme as in Autosequence. Remember that entering at any time will end the entry process. The entry process should appear as follows: NOTE 1 POS 1: 0? POS 2: 16? As an illustration of how DX-1 was actually tuned to the even tempered scale, the following formula was entered into an Apple and the resulting values were generated for P1 and P2. Note that scale frequencies relate to each other by the basic formula of two to the one twelfth power or 1.059463. -----------------------------------------------------------------------Page 30 ]LIST 10 A = 1:N = .0625: REM N=STARTING OCTAVE, DOWN FOUR (1/16) 15 PRINT : PRINT "PITCH";: HTAB 10: PRINT "P1";: HTAB 20: PRINT"P2" 20 PRINT A;: HTAB 10: PRINT INT (N);: HTAB 20: PRINT INT (256 * (N - INT (N)) + .5) 30 N = N * 2 ^ (1 / 12): REM 1.059463 40 A = A + 1: IF A < 109 THEN 20 ] RUN PITCH P1 P2 1 0 16 2 0 17 3 0 10 4 0 19 5 0 20 6 0 21 7 0 23 S 0 24 9 0 25 10 0 27 11 0 29 12 0 30 13 0 32 14 0 34 Other formulas can be programmed for generating other types of tuning. Decillionix welcomes any contributions from DX-1 users. See Table 8 in Appendix A for a complete listing of all tune values generated for P1 and P2 by the above listing. -----------------------------------------------------------------------Page 31 MENU 7: "EXTERNAL INTERFACE" ------------------------------------------------------------------------------ Press selection 7 from the main menu and External Interface Appears: **************************************** * EXTERNAL INTERFACE * **************************************** 1 MAIN MENU 2 INPUT SYNC PULSE: DISABLED 3 INPUT PULSE DIRR: HIGH 4 OUTPUT SYNC PULSE: DISABLED 5 OUTPUT PULSE DIRR: HIGH 6 OUTPUT PULSE DURA: 1 MS This menu provides a means of synchronizing DX-1 up to other electronic devices. Though no elaborate pulse dividing scheme is supported, simple triggering to and from DX-1 is possible. Input and output pulses, as well as their active level (high or low) are enabled and disabled simply by pressing the appropriate selections. All triggering is done through the Apple game port socket located in the back-right inside the Apple. The following diagram shows the active pins: .____ ____. | \/ | |1 16| Trig In (PB0) |2 15| Trig Out (AN0) |3 14| |4 13| |5 12| |6 11| |7 10| Gnd |8 9| |__________| Triggering levels are TTL compatible (High=2.O Volts min, Low=O.7 Volts max) and a ground reference signal (pin 8) must accompany the trigger lines. You should read the section on 'the game I/O connector" in the Apple II reference manual. -----------------------------------------------------------------------Page 32 The following waveforms shown below illustrate how DX-1 is triggered _from_ another source: Input Pulse Direction: High Input Pulse Direction: Low .______. _____________. .______ | | | | 1-20 ms | | 1-20 ms | | _____________| |______ |______| ^ ^ Sound starts here Sound starts here IMPORTANT: When triggering DX-1 from another source, the input pulse duration to DX-1 must be at least 1 ms (mili-second) or unexpected results may occur. Much longer than 20 ms causes unwanted delays. TRIGGERING AND THE OPERATING MENUS Menu 1 - Sound Samples: This menu is mainly for demo purposes and input triggering (to DX-1) is sometimes peculiar. Because routines are in Basic, pulse durations sometimes need to extend to 50 ms or more. Output triggering (from DX-1) is normal with 1 pulse per sound produced at beginning of each sound. Menu 2 - Preset Rhythms: Input triggering produces 1 sound per trigger. Output pulse produced once per sequenced sound. Menu 3 - Real Time Rec/Play: Input triggering produces 1 sound per 'last played' sound. Output pulse produced once per played sound. Menu 4 - Musical Keyboard: Input triggering available only with internal keyboard selected (once per pulse). Output pulse produced once per played sound with internal or external keyboard. Menu 5 - Autosequence: One sound sequenced per input trig, one output pulse per sound. Menu 6 - Scale Tuning: Input triggering produces 1 sound per 'last played' sound. Output pulse produced once per played sound. -----------------------------------------------------------------------Page 33 CHAPTER 3 THEORY OF OPERATION GENERAL OVERVIEW ------------------------------------------------------------------------------ DX-1 reproduces sounds that are originally created outside of a computer. These sounds are fed into a microphone and amplified, creating fluctuating voltages. At a very fast rate (the "sample" rate), an Analog-to-Digital converter converts these voltages into numbers that can be stored in the computer. These numbers then represent a "picture" of the sound, stored in memory. Software routines then output the sound data, byte by byte, to a hardware Digital-to-Analog converter. The D-to-A converter reassembles these computer numbers into fluctuating voltages. These are amplified and fed into a speaker. The computer controls the sequencing, rate, portion, direction, and volume, of the sound pictures sent to the D-To-A converter. Digital recordings of reasonable sound fidelity require enormous amounts of memory. The total play time of of any particular Soundbase (in mode 7 at a play pitch 47) is only about two seconds. This limitation is partly compensated for by the variety of ways sound is reproduced. THE HARDWARE ------------------------------------------------------------------------------ Refer to the block diagram on the following page. The DX-1 hardware is composed of one Analog-to-Digital converter, two Digital-to-Analog converters, and associated circuitry. The A-to-D converter is shown in the top center of the block diagram. Analog sound is converted to an 8 bit digital number and sent through the I/O bus to the Apple's microprocessor whenever the strobe line on the left becomes active. When a recording is being made, this device is strobed anywhere from 1 to 36 thousand times a second. -----------------------------------------------------------------------Page 34 DX-1 Hardware Block Diagram Apple I/O ._____________. .____. _ | |---------------. | | |\| \ | A-to-D |//8/Bit/Data///| | | | | |----------------|>| |------------.//| | | |/|_/ ^ | Converter | |//'----\| | .--|-----|>| |--------. |/Bus/// | | Microphone | | |_____________| | '-------/| | | | | | | | '--------------------------. | | | | ._____________. | | Busy | | | .-------\| | | '----------|>| | | |/Bus/// | D-to-A | | |____| | |//-----/| Converter | F| .____. | |//| | (Output | e| | | | |//| .-->| Level) | e| | |---------'//| | |_____________| d| | |/8/Bit/Data/| | | b| | |---------.//| | | a| | | | |//| | .______v______. c| /| | |Strobe | |//-----\| | k| ._./ | | |-------' |/////// | D-to-A | | | | | | |Strobe '-------/| Converter |----+--------| | | | |--------------' | (Output | |_| | | |Strobe | Data) | \ | |____|----------------->|_____________| \| Apple I/O Speaker The Digital-to-Analog converter that reconstructs sound is shown at the bottom of the block diagram. This is also an 8 bit device. Sound data is loaded into this device from the microprocessor whenever its associated strobe line becomes active. While sound is being produced by DX-1, this device is strobed at a rate determined by a musically oriented assembly routine. The D-to-A converter in the center of the block diagram controls the output volume of DX-1. This device is updated with an 8 bit number only when the user decides to change volume levels. The line labeled "Feedback" is a special feature utilized in another software program titled "DX-1 ECHO", also available from Decillionix. -----------------------------------------------------------------------Page 35 THE SOFTWARE ------------------------------------------------------------------------------ Various Applesoft programs handle all screen formatting and user interaction. This includes displaying menus, entering values, entering and editing sequences in Autosequence, and entering values for Scale Tuning. The assembly portion of the software handles all high speed "sound producing" operations. In Sound Samples assembly subroutines are "called" from Basic. Real time sequencing for Preset Rhythms and Autosequence is in assembly code, as well as the scanning routines for Musical Keyboard and Real Time Rec/Play. The fundamental operation of the software is byte by byte conversion, storing, and output of digital sound data. At the innermost assembly routines, data from a Soundbase is output one byte at a time, linearly through memory, with the innermost delay time (sample rate) determined by the "pitch" value. Sound is represented by an 8 bit number with the value 255 (hex $FF) representing the most positive signal amplitude and 0 (hex $00) representing the most negative. With no signal present the sound data value is centered at 127 (hex $7F). -----------------------------------------------------------------------Page 36 CHAPTER 4 GOING FURTHER MAKING GOOD RECORDINGS ------------------------------------------------------------------------------ All the sounds supplied with the DX-1 'Effects II' disk were recorded with a DX-1 card identical to the one you own. With a little care, equal results should be obtainable. The following comments will be helpful. 1. A first consideration is that not all types of sound will record as well as others. 'Purer' sounds, such as a whistle, seem to record with extra noise, and sound slightly different from note to note. Even expensive sampling machines such as the 'Fairlight' run into this problem. 2. It is almost impossible to make very clean recordings with slow sample rates (those with a rec rate of 12 or higher). The 'sampling frequency' creeps in. There is always a trade-off between duration and fidelity. 3. Being an 8 bit system, sometimes resolution distortion (256 steps) is noticeable (causes fuzzy sound, or hiss in the background). Because of this, it is usually better to slightly overdrive the input to insure the full range is utilized. This will produce a louder overall sound from DX-1, enabling you to reduce the output volume and hence cut down on the noise level. 4. A good quality microphone is essential. While a Neumann U87 may be more expensive than necessary, something on the level of a Shure SM57 or Audio-Technica 813 is recommended. 5. It also helps to make recordings in a quiet room... one with some damping to eliminate sound from bouncing around the walls. 6. Occasionally during freerun mode or before record mode is triggered background noise will pass through the system. This rarely will affect a sound recorded with a reasonable amplitude. 7. As a final observation it has been noticed that DX-1 Sometimes picks up noise from P.C. boards plugged in next to it. If you plan to go on a recording spree you may want to leave the slots around the DX-1 empty. -----------------------------------------------------------------------Page 37 TIPS ON USING DX-1 ------------------------------------------------------------------------------ * Always have several copies of the DX-1 disk available for saving newly-created Soundbases. Soundbases are always saved under the file names Soundbase1-3. * Creating Soundbases can be a lot of fun with the results often being interesting and astonishing. For example, set the mode to 4 in Real Time Rec/Play and record six words of your own voice (REC RATE=15). Now set Sound Samples to mode 4 and listen to them. It's not likely you've ever heard your voice reproduced in such a variety of ways. * Don't be limited in your uses for DX-1. For example, here are some possible applications: Live and sequenced musical applications Audio and video sound effects recordings Visual presentations Musical instrument accompaniment Drum rhythm generation Studio uses Automatic telephone greeting effects/messages Entertainment * Using a tape recorder to record DX-1 sounds gives you the ability to chain different Soundbases and create longer duration sound effects. Also, using a tape recorder with sound-on-sound capabilities will allow sounds to be played simultaneously, "on top of" each other. * Experiment with the values for record rate and pitch to produce interesting effects. For example, set record rate to a high value (50 or higher) and record a sentence or two (in mode 7) of your own voice. Listen to this at a pitch of 15 and 80. * Many times sounds and sound effects are more "pleasing" to the ear if they have a natural "decay" (sounds do not end abruptly but die down in volume). To accomplish this many sounds will have to be short in duration when recorded. (Try mode 6 or 7.) * Sound Samples can be more interesting by switching between the various selections. For example switch between selections 4 "Random Fast" and 6 "Last Sound Fast", and between 4 "Random Fast" and 7 "Roller Coaster" or 8 "Falling Object". * DX-1 will be much more effective when connected to a medium to large size speaker (8 to 12 inch) or large sound system. * It is possible to rearrange sounds within a Soundbase without re-recording then. To do this you will need to become familiar with the Apple DOS commands, 'BLOAD' and 'BSAVE', and consult -----------------------------------------------------------------------Page 38 the mode tables M2-M7 in appendix A. For example, the snare sound could be swapped with the bass sound in Soundbase1. You will need to break out of the 'Effects II' program, then BSAVE portions of a Soundbase, then BLOAD them to new locations. The Apple DOS manual fully explains the 'BLOAD' and 'BSAVE' commands. * Whenever a new sound is recorded, the word 'Modified' will appear after BASE LOADED: SOUNDBASE1 in the Load/Save menu. This lets you know a portion of a Soundbase has been changed; this does not effect the original Soundbase saved on the disk. 'Modified' will also appear after sequence names in Autosequence, and after tune file names in Scale Tuning. * Don't underestimate the power of DX-1. Though the system is limited in memory size and 8 bits of D-to-A conversion, reproducing ordinary sound in such a variety of ways is not easily possible with any other means. * Typical Problems experienced when using DX-1: Improper board slot selected - Volume set too low - Input 'gain' jumper set wrong - Dirty P.C. board connector 'fingers' (clean with an eraser) - Rec sample rate set too high - Feedback pot (if you own DX-1 'ECHO' software) left turned up - External 'trig In' enabled with no trig pulse present (disable input sync pulse). * All DX-1 Volumes 1-5 diskettes are near full.., there is actually enough room for only about 20 more Autosequence files or tuning files per diskette. If you need more room you can delete files 'DEMO2'-'DEMO9'. Do not delete any other files; make new copies. * Decillionix welcomes any questions you may have. Always feel free to write or call and tell us of any problems, suggestions, or interesting applications. Suggestions for new software applications, and submitted software for DX-1 are welcome. Write: Decillionix P.O. Box 70985 Sunnyvale, CA 94086 -----------------------------------------------------------------------Page 39 CHANGING THE DEFAULTS ------------------------------------------------------------------------------ When DX-1 is first booted up, values are initialized for various functions such as board slot, volume, etc. Here are three functions that are initialized and their values: Board Slot 3 Volume 8 Soundbase 1 Depending on the user, it may be more convenient to have other values initialized on start-up. For example, if you operate your P.C. board in a different slot, that slot could be automatically initialized whenever the program is first run. NOTE: Your original "DX-1 VOLUME 1" should be copied and stored safely, and default changes made on a "user" copy. To change the defaults, press the RESET button on the Apple keyboard (make sure the main menu is showing). This breaks you out of the 'Effects II' program leaving you in Applesoft. Now type LIST 10000 ... this lists line 10000 of the Applesoft program. It should look like this: 10000 SL = 3:01 = 8:G7 = 1 Here is a table of the variables and their ranges. SL Board Slot 0 to 7 O1 Volume 0 to 15 (that's O1, not zero 1) G7 Soundbase 1 to 3 Now retype line 10000 with the values you desire, then type exactly as shown below: SAVE DX1BASIC22 This saves the whole DX-1 Basic program with the new default values. (You will need to 'UNLOCK' DX1BASIC22 first. See Apple's DOS manual about 'UNLOCK'. If you are unsure of how to retype a line in Basic see your Applesoft reference manual.) NOTE: To restart DX-1 from this point type PR#6 (with the slot your drive is plugged into), or RUN HELLO . -----------------------------------------------------------------------Page 40 WRITING YOUR OWN SOFTWARE ------------------------------------------------------------------------------ The purpose of this section is to aid those interested in writing software for DX-1. Two assembly language subroutines are shown, with a description of each below. The first routine loads samples from the A-to-D converter, then outputs these to the D-to-A converter. The resulting effect is the "freerun" function used in the Real Time Rec/Play and Musical Keyboard menus of the DX-1 software. Sound is passed through the system. Features of this routine include variable sample rates (lines 28 through 30) and exiting the routine by typing any key (lines 26 and 27). The second routine is the basic "play" routine used throughout the DX-1 program. Lines 40 through 53 initialize various parameters before playing actually begins. The board slot and output level, as well as the length and address of the sound data must be initialized before playing can begin. Sound data is indirectly loaded into the accumulator during play. The same keyboard check feature is included in this routine. When all pages of sound are played, the routine exits via an RTS instruction. SAMPLE ASSEMBLY LISTINGS ------------------------------------------------------------------------------ 1000: 1 ORG $1000 ;CODE STARTS AT HEX $1000 1000:36 2 STRTADD DFB $36 ;START ADDR OF SOUND 1001:60 3 LENGTH DFB 96 ;LENGTH OF SOUND 1002:04 4 PITCH DFB 4 ;SOUND PITCH (OFFSET FOR PITCHTBL) 1003:0A 5 SMPLDEL DFB 10 ;DELAY BETWEEN SAMPLES 1004:30 6 BDSLOT DFB $30 ;BOARD SLOT BUFFER (SET FOR SLOT 3) 1005:16 7 LEVEL DFB 22 ;OUTPUT VOLUME 1006:00 5 PBUF DFB 0 ;BUFFER FOR PITCHTBL ADDRESSING 00FA: 9 ADDCALC EQU $FA ;ADDRESS CALCULATION STORAGE 00FB: 10 INDIRLO EQU $FB ;INDIRECT ADD POINTER 00FD: 11 BLOCKS EQU $FD ;NUMBER OF PAGES OF DATA TO PLAY C081: 12 READADC EQU $C081 ;BASE I/O ADDR FOR A TO D CONV C083: 13 BUSY EQU $C083 ;BASE I/O ADDR A TO D BUSY C085: 14 OUTLEV EQU $C085 ;BASE I/O ADDR FOR OUTPUT LEVEL C086: 15 WRDAC EQU $C086 ;BASE I/O ADDR FOR OUTPUT DATA C000: 16 KEYBD EQU $C000 ;APPLE II KEYBOARD LOCATION 17 ******************** 1007: 18 ; 1007: 19 ;THIS SUBROUTINE PLAYS SOUND FROM A-TO-D TO D-to-A 1007: 20 ; 1007:AE 04 10 21 FREERUN LDX BDSLOT ;GET BOARD SLOT 100A:AD 05 10 22 LDA LEVEL :GET OUTPUT VOLUME 100D:9D 85 C0 23 STA OUTLEV,X ;SET VOLUME DAC 1010:BD 81 C0 24 FRERUN1 LDA READADC,X ;READ A TO D CONVERTER 1013:9D 86 C0 25 STA WRDAC,X ;PLAY IT 1016:AD 00 C0 26 LDA KEYBD 1019:30 10 27 BMI DONE ;BRANCH IF USER HIT A KEY 101B:AE 03 10 28 LDX SMPLDEL ;DELAY BETWEEN SAMPLES 101E:CA 29 FREDEL DEX 101F:D0 FD 30 BNE FREDEL ;LOOP TILL DELAY DONE -----------------------------------------------------------------------Page 41 1021:AE 84 18 31 LOX BDSLOT ;SET x TO BD SLOT 1024:BD 83 C0 32 FRELOOP LDA BUSY,X ;IS ADC READY FOR A SAMPLE 1027:10 FB 33 BPL FRELOOP ;BRANCH IF NOT 1029:33 E5 34 BMI FRERUN1 ;ITS READY 102B:60 35 DONE RTS ;BACK TO CALLING ROUTINE OR BASIC 36 ******************* 102C: 37 ; 102C: 38 ;THIS SUBROUTINE PLAYS SOUND DATA FROM MEMORY MUSICALLY 102C: 39 ; 102C:AE 04 10 40 INTPLAY LDX BDSLOT ;GET SLOT 102F:AD 05 10 41 LDA LEVEL ;GET OUTPUT VOLUME 1032:9D 85 C0 42 STA OUTLEV,X ;SET LEVEL DAC 1035:AD 01 10 43 LDA LENGTH ;GET LENGTH 1038:85 FD 44 STA BLOCKS ;SAVE LENGTH 103A:AD 02 10 45 LDA PITCH ;GET PITCH NOTE 103D:0A 46 ASL A ;MULT BY TWO FOR PITCHTBL ADDRESSING 103E:8D 06 10 47 STA PBUF ;SAVE FOR ROUTINE BELOW 1041:A9 00 48 LDA #$00 ;CLEAR ACCUMULATOR 1043:85 FA 49 STA ADDCALC ;INIT FINE ADDRESSING CALC BUFFER 1045:85 FB 50 STA INDIRLO ;INIT INDIRECT POINTER 1047:AD 00 10 51 LDA STRTADD ;GET PTR TO BEGINNING OF SOUND 104A:85 FC 52 STA INDIRLO+1 ;SAVE IN INDIR FTR (HIGH BYTE) 104C:A0 00 53 LDY #$00 ;INIT Y FOR INDEXING 104E:AE 06 10 54 PLAY LDX PBUF ;GET PITCH NOTE 1051:BD 79 10 55 LDA PITCHTBL+1,X ;GET FINE TUNE CONSTANT 1054:18 56 CLC ;CLEAR CARRY FOR ADDITION 1055:65 FA 57 ADC ADDCALC ;ADD TO OLD PARTIAL POINTER VALUE 1057:85 FA 58 STA ADDCALC ;SAVE IT AWAY 1059:BD 79 10 59 LDA PITCHTBL,X ;GET COARSE TUNE CONSTANT 105C:65 FB 60 ADC INDIRLO ;ADD TO OLD MID POINTER VALUE 105E:85 FB 61 STA INDIRLO ;SAVE IT AWAY 1060:B0 10 62 BCS NEXTPAGE ;BRANCH IF DONE WITH PAGE 1062:B1 FB 63 LDA (INDIRLO),Y ;GET SOUND DATA 1064:AE 04 10 64 LDX BDSLOT ;SET X TO BOARD SLOT 1067:9D 86 C0 65 STA WRDAC,X ;PLAY SOUND 106A:AD 00 C0 66 LDA KEYBD ;USER WANT TO QUIT? 106D:30 09 67 BMI PDONE ;BRANCH IF YES 106F:4C 4E 10 68 JMP PLAY ;NO, PLAY MORE 1072:E6 FC 69 NEXTPAGE INC INDIRLO+1 ;POINT TO NEW PAGE 1074:C6 FD 70 DEC BLOCKS ;ARE WE DONE? 1076:D0 D6 71 BNE PLAY ;BRANCH IF NOT DONE 1378:60 72 PDONE RTS ;BACK TO CALLING ROUTINE OR BASIC 1079:00 80 73 PITCHTBL DFB 0,128 ;LOWER NOTES FIRST 107B:00 88 74 DFB 0,136 107D:00 90 75 DFB 0,144 ;1ST VALUE IS COARSE TUNE. 2ND=FINE 107F:00 98 76 DFB 0,152 1081:00 A1 77 DFB 0,161 1083:00 AB 78 DFB 0,171 ;HIGHER NOTE 1085: 79 ;ETC... *** SUCCESSFUL ASSEMBLY: NO ERRORS -----------------------------------------------------------------------Page 42 APPENDIX A REFERENCE CHARTS TABLES V1-1 TO V1-3: THE SOUNDBASE TABLES ------------------------------------------------------------------------------ The Soundbase tables list the contents of the three Soundbases of DX-1 Volume 1. This information is useful in Real Time Rec/Play, Musical Keyboard and in Autosequence. Other DX-1 prerecorded Soundbases are available from Decillionix and are described in a separate manual titled "DX-1 SOUNDBASE GUIDE" (Twelve Soundbases total). Table V1-1: SOUNDBASE1 Description: Drum Set Record Mode: 2 1 Snare Drum 2 Tom-Tom #1 3 Tom-Tom #2 4 Bass Drum 5 Hi Hat 6 Wood Block 7 Ride Cymbal 8 Crash Cymbal Table V1-2: SOUNDBASE2 Description: Variety #1 Record Mode: 2 1 Stick Sound 2 Bongo Drum 3 Dog Bark 4 Hand Clap 5 Harmonica #1 6 Wine Glass Tap 7 Jews Harp 8 Guitar Note #1 Table V1-3: SOUNDBASE3 Description: Variety #2 Record Mode: 4 1 Violin Sound 2 Banjo Pluck 3 Trumpet Note 4 Guitar Note #2 5 Electric 'fuzz' Guitar 6 Harmonica #2 -----------------------------------------------------------------------Page 43 TABLES M2 THROUGH M7: THE MODE TABLES ------------------------------------------------------------------------------ Tables M2 through M7 define the start addresses, end addresses, and lengths in hex and in decimal of the space allocated for sound data in the six modes. If you are unfamiliar with what a 'Page of memory is see your Apple II reference manual. Table M2: Mode 2 (Eight sounds, oriented for percussion) Start Address End Address Length Page Hex Dec Page Hex Dec Pages Hex Dec 1 54 $3600 13824 61 $3DFF 15871 8 $800 2048 2 62 $3E00 15872 69 $45FF 17919 8 $800 2048 3 70 $4600 17920 77 $4DFF 19967 8 $800 2048 4 78 $4E00 19968 85 $55FF 22015 8 $800 2048 5 86 $5600 22016 93 $5DFF 24063 8 $800 2048 6 94 $5E00 24064 101 $65FF 26111 8 $800 2048 7 102 $6600 26112 125 $7DFF 32255 24 $1800 6144 8 126 $7E00 32256 149 $95FF 38399 24 $1800 6144 Table M3: Mode 3 (Eight sounds equal in length) Start Address End Address Length Page Hex Dec Page Hex Dec Pages Hex Dec 1 54 $3600 13824 65 $41FF 16895 12 $C00 3072 2 66 $4200 16896 77 $4DFF 19967 12 $C00 3072 3 78 $4E00 19968 89 $59FF 23039 12 $C00 3072 4 90 $5A00 23040 101 $65FF 26111 12 $C00 3072 5 102 $6600 26112 113 $71FF 29183 12 $C00 3072 6 114 $7200 29184 125 $7DFF 32255 12 $C00 3072 7 126 $7E00 32256 137 $89FF 35327 12 $C00 3072 8 138 $8A00 35328 149 $95FF 38399 12 $C00 3072 Table M4: Mode 4 (Six sounds equal in length) Start Address End Address Length Page Hex Dec Page Hex Dec Pages Hex Dec 1 54 $3600 13824 69 $45FF 17919 16 $1000 4096 2 70 $4600 17920 85 $55FF 22015 16 $1000 4096 3 86 $5600 22016 101 $65FF 26111 16 $1000 4096 4 102 $6600 26112 117 $75FF 30207 16 $1000 4096 5 118 $7600 30208 133 $85FF 34303 16 $1000 4096 6 134 $8600 34304 149 $95FF 38399 16 $1000 4096 -----------------------------------------------------------------------Page 44 Table M5: Mode 5 (Four sounds equal in length) Start Address End Address Length Page Hex Dec Page Hex Dec Pages Hex Dec 1 54 $3600 13824 77 $4DFF 17919 24 $1800 6144 2 78 $4E00 19968 101 $65FF 22015 24 $1800 6144 3 102 $6600 26112 125 $7DFF 26111 24 $1800 6144 4 126 $7E00 32256 149 $95FF 30207 24 $1800 6144 Table M6: Mode 6 (Two sounds equal in length) Start Address End Address Length Page Hex Dec Page Hex Dec Pages Hex Dec 1 54 $3600 13824 101 $65FF 26111 48 $3000 12288 2 102 $6600 26112 149 $95FF 38399 48 $3000 12288 Table M7: Mode 7 (One continuous sound) Start Address End Address Length Page Hex Dec Page Hex Dec Pages Hex Dec 1 54 $3600 13824 149 $95FF 38399 96 $6000 24576 -----------------------------------------------------------------------Page 45 TABLE 8: 'PITCH' TO MUSICAL NOTE RELATIONSHIP ------------------------------------------------------------------------------ Below is a table listing the 100 Pitch values with corresponding musical notes and the values for P1 and P2 as entered with the Scale Tuning menu. This list compromises the TUNE.EVENTEMP tuning automatically loaded on boot-up. See also the Scale Tuning menu description for more information. Pitch Note P1 P2 Pitch Note P1 P2 Pitch Note P1 P2 1 C 0 16 37 C 0 128 73 C 4 0 2 C# 0 17 38 C# 0 136 74 C# 4 61 3 D 0 18 39 D 0 144 75 D 4 125 4 D# 0 19 40 D# 0 152 76 D# 4 194 5 E 0 20 41 E 0 161 77 E 5 10 6 F 0 21 42 F 0 171 78 F 5 87 7 F# 0 23 43 F# 0 181 79 F# 5 168 8 G 0 24 44 G 0 192 80 G 5 254 9 G# 0 25 45 G# 0 203 81 G# 6 89 10 A 0 27 46 A 0 215 82 A 6 186 11 A# 0 29 47 A# 0 228 83 A# 7 33 12 B 0 30 48 B 0 242 84 B 7 141 13 C 0 32 49 C 1 0 85 C 8 0 14 C# 0 34 50 C# 1 15 86 C# 8 122 15 D 0 36 51 D 1 31 87 D 8 251 16 D# 0 38 52 D# 1 48 88 D# 9 131 17 E 0 40 53 E 1 67 89 E 10 20 18 F 0 43 54 F 1 86 90 F 10 174 19 F# 0 45 55 F# 1 106 91 F# 11 80 20 G 0 48 56 G 1 128 92 G 11 253 21 G# 0 51 57 G# 1 150 93 G# 12 179 22 A 0 54 58 A 1 175 94 A 13 116 23 A# 0 57 59 A# 1 200 95 A# 14 65 24 B 0 60 60 B 1 227 96 B 15 26 25 C 0 64 61 C 2 0 97 C 16 0 26 C# 0 68 62 C# 2 30 98 C# 16 244 27 D 0 72 63 D 2 63 99 D 17 246 28 D# 0 76 64 D# 2 97 100 D# 19 7 29 E 0 81 65 E 2 133 101 E 20 41 30 F 0 85 66 F 2 171 102 F 21 92 31 F# 0 91 67 F# 2 212 103 F# 22 161 32 G 0 96 68 G 2 255 104 G 23 249 33 G# 0 102 69 G# 3 45 105 G# 25 102 34 A 0 108 70 A 3 93 106 A 26 233 35 A# 0 114 71 A# 3 144 107 A# 28 130 36 B 0 121 72 B 3 199 108 B 30 52 -----------------------------------------------------------------------Page 46 TABLE 9: MEMORY ORGANIZATION ------------------------------------------------------------------------------ Below is a diagram showing how the Apple II memory is sectioned and used when the DX-1 system is installed. Table 9: Memory Organization Decimal Hex Page 65535 .____________________________. $FFFF 255 | | | | | Memory mapped I/O | | | | DX-1 Hardware | | | 49152 |----------------------------| $C000 192 | | | Disk Operating System | | | 38400 |----------------------------| $9600 150 | | | | | | | | | Soundbase 1, 2 or 3 | | | | | | | | | 13824 |----------------------------| $3600 54 | Various DX-1 | | Assembly Programs | 11213 |----------------------------| $2BCD 43 | | | Various DX-1 | | Applesoft Basic Programs | | swapped in and out | | | 2048 |----------------------------| $0800 8 | Text Screen, System | | usage, page 0, etc. | |____________________________| $0000 0 -----------------------------------------------------------------------Page 47 TABLE 10: OUTPUT LEVEL TO DAC RELATIONSHIP ------------------------------------------------------------------------------ The following table defines the relationship between the output volume set in the DX-1 menus and the corresponding values generated by the program and sent to the D-To-A converter used to control volume on the P.C. board. The values on the right are generated to provide logarithmic attenuation. The information is useful for programmers interested in generating their own programs with logarithmically controlled output levels. Table 10: Output Level To Output DAC Relationship "Volume" Value output to DAC 0 0 1 1 2 2 3 3 4 5 5 7 6 11 7 15 8 22 9 31 10 45 11 63 12 90 13 127 14 180 15 255 -----------------------------------------------------------------------Page 48 TABLE 11: RECORD SAMPLE FREQUENCIES ------------------------------------------------------------------------------ The following table lists various values for REC RATE and the corresponding 'sample' frequencies. Table 11: Record Sample Frequencies REC RATE Frequency 1 36.3 kHz 2 30.8 kHz 3 26.8 kHz 4 23.7 kHz 5 21.2 kHz 6 19.2 kHz 7 17.6 kHz 8 16.2 kHz 9 15.0 kHz 10 14.0 kHz 12 12.3 kHz 15 10.4 kHz 20 8.3 kHz 30 5.9 kHz 50 3.7 kHz 100 1.9 kHz 200 1.0 kHz 255 .78 kHz -----------------------------------------------------------------------Page 49 TABLE 12: HARDWARE INPUT/OUTPUT ADDRESSES ------------------------------------------------------------------------------ The table below describes the Input/Output addresses for the hardware printed circuit board. For the programmer interested in writing software for DX-1, these addresses must be known. See also Chapter 3, "Theory of Operation", and Chapter 4, "Writing Your Own Software". Table 12: Input/Output Addresses $C081 READADC (Base I/O address for A-to-D converter) $C083 BUSY (Base I/O address for A-to-D busy line) $C085 OUTLEV (Base I/O address for sound output level) $CO86 WRDAC (Base I/O address for sound output data) $CO87 HILOW (Base I/O address for 1 bit input sample) These are the BASE I/O addresses (slot zero). Other slots can be used either by absolute addressing, or indexed addressing. "DEVICE SELECT", Apple I/O pin 41 (see the Apple II ref. manual) is the strobe line used. Note: The A-to-D Busy line need not be checked for software routines that sample the A-to-D at 30Khz or slower (this is usually the case; the A-to-D converter requires only 25-30 microseconds to convert). The Busy line is connected to data bus bit 7. A LDA $C083 followed by a Branch If Plus instruction would indicate that the A-to-D was busy (if the branch was taken). Notice that address $CO87 is a High/Low sample of the input audio signal. Presently this feature is not implemented in the Effects II program. This address could actually be used to output sound through the Apple internal speaker (with about 8 db s/n). END